#include<stdio.h>
int main()
{
int a [3] = { 1,2,3 };
printf("b=%p\n", a);
printf("&a [0]=%p\n", &a [0]);
printf("&a=%p\n", &a);
//以上三行输出是否一样的地址？
printf("sizeof(&a)=%lu\n", sizeof(&a));
printf("sizeof(a)=%lu\n", sizeof(a));
//以上两行输出是否一样的结果？
int* p1 = (int*)(&a + 1);
int* p2 = (int*)((int)a + 1);
int* p3 = (int*)(a + 1);
printf("%d\n", p1[0]);
printf("%d\n",p2[0]);
printf("%d\n", p3[0]);
//以上三条打印语句那一条会运行出错？
return 0;
}